import axios from "axios";

// 基础API地址
const API_URL = "http://localhost:8080/app/coupon";

/**
 * 获取所有优惠券列表
 * @returns {Promise} 接口返回的Promise对象
 */
export const getAllCoupons = () => {
  return axios.get(`${API_URL}`);
};

/**
 * 根据ID获取优惠券详情
 * @param {Number} couponId 优惠券ID
 * @returns {Promise} 接口返回的Promise对象
 */
export const getCouponById = (couponId) => {
  return axios.get(`${API_URL}/${couponId}`);
};

/**
 * 添加优惠券
 * @param {Object} coupon 优惠券对象
 * @returns {Promise} 接口返回的Promise对象
 */
export const addCoupon = (coupon) => {
  return axios.post(`${API_URL}/`, coupon);
};

/**
 * 更新优惠券
 * @param {Number} couponId 优惠券ID
 * @param {Object} coupon 优惠券对象
 * @returns {Promise} 接口返回的Promise对象
 */
export const updateCoupon = (couponId, coupon) => {
  return axios.put(`${API_URL}/${couponId}`, coupon);
};

/**
 * 删除优惠券
 * @param {Number} couponId 优惠券ID
 * @returns {Promise} 接口返回的Promise对象
 */
export const deleteCoupon = (couponId) => {
  return axios.delete(`${API_URL}/${couponId}`);
};

/**
 * 用户领取优惠券
 * @param {Number} userId 用户ID
 * @param {Object} coupon 优惠券对象
 * @returns {Promise} 接口返回的Promise对象
 */
// 保持该定义不变，确保参数传递正确
export const receiveCoupon = (userId, coupon) => {
  return axios.post(`${API_URL}/receive/${userId}`, coupon);
};
// 获取可领取的平台优惠券
export const getCouponsByStatus = (userId, status) => {
  console.log(
    "👉 请求平台优惠券:",
    `${API_URL}/userId/${userId}/status/${status}`
  );
  return axios.get(`${API_URL}/userId/${userId}/status/${status}`);
};
